199ff16c0cbd3349f014f6c4788ec72f68d2fdd8,Mage.Sets/src/mage/sets/mirrodin/CrystalShard.java,CrystalShardEffect,apply,#Game#Ability#,100

Before Change


                    cost.pay(source, game, targetCreature.getControllerId(), targetCreature.getControllerId(), false);
                }
                if (!cost.isPaid()) {
                    return targetCreature.moveToZone(Zone.HAND, source.getSourceId(), game, true);
                }
            }
        }

After Change


    }

    @Override
    public boolean apply(Game game, Ability source) {
        Player controller = game.getPlayer(source.getControllerId());
        if (controller != null) {        
            Permanent targetCreature = game.getPermanent(getTargetPointer().getFirst(game, source));
            if (targetCreature != null) {
                Player player = game.getPlayer(targetCreature.getControllerId());
                if (player != null) {
                    cost.clearPaid();
                    final StringBuilder sb = new StringBuilder("Pay {1}? (Otherwise ").append(targetCreature.getName()).append(" will be returned to its owner's hand)");
                    if (player.chooseUse(Outcome.Benefit, sb.toString(), game)) {
                        cost.pay(source, game, targetCreature.getControllerId(), targetCreature.getControllerId(), false);
                    }
                    if (!cost.isPaid()) {
                        controller.moveCards(targetCreature, Zone.BATTLEFIELD, Zone.HAND, source, game);
                    }
                }
            }
            return true;
        }
        return false;
    }